package com.example.ymm.modules1.service.hl;

import com.example.ymm.base.BaseService;
import com.example.ymm.model.TableList;
import com.example.ymm.model.YmPageDto;
import com.example.ymm.modules1.entity.hl.dkn.DknForecastProduct;
import com.example.ymm.modules1.entity.ms.VckStock;
import com.example.ymm.modules1.query.hl.DknForecastProductQueryCriteria;
import com.example.ymm.modules1.service.dto.dkn.DknForecastStockDto;
import com.example.ymm.modules1.service.dto.dkn.DknNotInOrderDto;
import com.example.ymm.modules1.service.dto.heng.ImportStockProductDto;

import java.util.List;

public interface DknForecastProductService extends BaseService<DknForecastProduct> {


    TableList<DknForecastProduct> list(DknForecastProductQueryCriteria criteria, YmPageDto ymPage);

    List<DknForecastProduct> queryAll(DknForecastProductQueryCriteria criteria);


    List<String> importForecastProduct(List<DknForecastProduct> dtos);


    /**
     * 获取3个月前的备货订单
     * @param criteria
     * @return
     */
    List<DknNotInOrderDto> getNotInOrders(DknForecastProductQueryCriteria criteria);

    /**
     * 前端展示
     * 获取3个月前的备货订单
     * @param criteria
     * @return
     */
    TableList <DknNotInOrderDto> notInOrderTable(DknForecastProductQueryCriteria criteria, YmPageDto ymPage);

    /**
     * 查询库存
     * @param criteria
     * @return
     */
    List<DknForecastStockDto> getForecastStock(DknForecastProductQueryCriteria criteria);


    /**
     * 销售发货出库单
     * @param criteria
     * @return
     */
    List<DknForecastStockDto> outbillList(DknForecastProductQueryCriteria criteria);



}
